Есть несколько способов - первый быстрый и не требует кода, но вам нужно вручную избавиться от ненужных вам строк, другой более гибкий, но вы должны его кодировать.Есть также сторонние инструменты, которые вы можете сделать, чтобы сделать это для вас.
Если вы просто хотите сделать это один раз, вы можете сделать следующее (это из другой версии SSMS, но это должно быть похоже)
щелкните правой кнопкой мыши базу данных, выберите задачи, выберите генерацию сценариев.Затем выберите нужную таблицу, перейдите далее, затем в дополнительных настройках найдите «типы данных для сценария» и измените их на данные.Это должно сгенерировать скрипт для загрузки всех данных из вашей таблицы - вам нужно будет отредактировать его, чтобы просто загрузить нужные вам строки.
Другой вариант - написать скрипт, который в основном создает нужные вам данные.Вам нужно было бы настроить его для начала и настроить его, если вы когда-либо измените формат таблицы, но вы можете отредактировать скрипт выбора так, чтобы он получал только те данные, которые вы хотите.Я уверен, что вы могли бы написать сценарий, который бы автоматически создавал его для вас, но мне он никогда не был нужен, поэтому я не думал об этом.
Что-то вроде этого
With baseRows as
(
--This bit gets the data you want
Select E.*
, ROW_NUMBER() over(ORDER BY ID) as RowNo
From dbo.Email E
Where E.Language = 'zh' -- whatever selection you need here
)
, selectRows as
(
--This bit creates the data select statments to set the data to import
Select
case when BR.RowNo = 1 then '' else 'Union All ' end
+ 'Select '
+ convert(varchar(10), BR.userID) + ' as userID, ' -- required integer example
+ case when BR.backupID is null then 'NULL' else CONVERT(varchar(10), BR.backupID) end + ' as backupID, ' -- nullable integer example
+ '''' + BR.Name + ''' as name, ' -- required nvarchar example
+ case when BR.groupname IS null then 'NULL' else '''' + BR.groupname + '''' end + ' as groupname, ' --nullable varchar example
+ CONVERT(varchar(2), BR.isActive) + ' as isActive, ' --bit example
as SQL
from baseRows BR
)
Select
--This creates the insert command row (top row) of the final query
'Insert into Email (
userID
, backupID
, name
, groupName
, IsActive
)' as SQL
UNION ALL
Select SQL from baseRows --and adds the data to the following rows
Если вы запустите этот скрипт, на выходе будет скрипт, который вы ищете для загрузки данных на другой компьютер.