SQL Server 2008 R2不支持创建没有关联登录的用户

时间:2011-09-22 13:31:46

标签: sql-server-2008-r2 ssms sql-server-2008

使用SQL Server Management Studio 2008 R2(10.50.1617.0)在SQL Server 2000版本的SQL Server上编写SQL Server 2000数据库时,出现错误:

  

SQL Server 2008 R2不支持创建没有关联登录的用户。

使用完整堆栈跟踪:

Microsoft.SqlServer.Management.Smo.SmoException: Creating a user without an associated login is not supported in SQL Server 2008 R2.;   
at Microsoft.SqlServer.Management.SqlScriptPublish.GeneratePublishPage.worker_DoWork(Object sender, DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)  
at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

解决此问题的好方法是什么。

我考虑过:

  • 创建一个登录(并在该事物上面引发愤怒)
  • 删除用户(并从该地方的高处招致愤怒)
  • 选择部分而非所有对象编写脚本,不要编写冒犯SQL Server 2008 R2的用户脚本

但是我会让SO上的人发帖回答,得到答案,并接受最能解决问题的答案。

2 个答案:

答案 0 :(得分:1)

按照指示。只是不要编写没有关联登录的数据库用户的脚本。您可以在任务>中执行此操作通过选择特定的数据库对象并取消选中任何麻烦的用户来生成脚本向导(指向2008或更高版本的2000实例):

enter image description here

答案 1 :(得分:0)

我怀疑在某些情况下SQL Server 6.5中需要SQL Server 2000 database has user aliases:这些,因为它是,呃,废话,

请注意MSDN所说的内容:

  

提供sp_addalias是为了向后兼容。 Microsoft®SQLServer™7.0版提供了角色以及向角色授予权限的功能,作为使用别名的替代方法。

在SQL Server 2000框上运行sp_helpuser并查看输出并将其删除