1. 使用T-SQL
你可以先在源SQL Server上运行下面的脚本,该脚本会生成可以执行的T-SQL语句;然后您把这些生成的T-SQL语句在目的服务器上执行就可以了:
SET NOCOUNT ON
SELECT 'EXEC sp_addlogin @loginame = ''' + loginname + '''',
', @defdb = ''' + dbname + '''',
', @deflanguage = ''' + language + '''',
', @encryptopt = ''skip_encryption''',', @passwd =',
cast(password AS varbinary(256)),
', @sid =', sid
FROM syslogins
WHERE name NOT IN ('sa')
AND isntname = 0
SELECT 'EXEC sp_grantlogin @loginame = ''' + loginname + '''' ,
' EXEC sp_defaultdb @loginame = ''' + loginname + '''' ,
', @defdb = ''' + dbname + ''''
FROM syslogins
WHERE loginname NOT IN ('BUILTIN/Administrators') AND isntname = 1
2. 此外,你也可以使用SQL Server 2000 DTS的Transfer Logins Task.