【问题标题】:How do I set the default database in Sql Server from code?如何从代码中设置 Sql Server 中的默认数据库?
【发布时间】:2010-09-11 11:32:33
【问题描述】:

我似乎不知道如何通过代码在 Sql Server 中设置默认数据库。这可以是 .Net 代码或 T-Sql(T-Sql 会很好,因为它很容易在任何语言中使用)。我搜索了谷歌,只能在 Sql Server Management Studio 中找到如何操作。

【问题讨论】:

    标签: sql-server database sql-server-2000


    【解决方案1】:

    ALTER LOGIN 应该用于 SQL Server 2005 或更高版本:

    http://technet.microsoft.com/en-us/library/ms189828.aspx

    ALTER LOGIN <login_name> WITH DEFAULT_DATABASE = <default_database>
    

    sp_defaultdb 最终将从 SQL Server 中删除:

    http://technet.microsoft.com/en-us/library/ms181738.aspx

    【讨论】:

    • 谢谢,但我使用的是 Sql Server 2000,但 ALTER LOGIN 命令似乎无法在其中工作:'LOGIN' 附近的语法不正确。
    • 我尝试了单引号和圆(括号)并且也遇到了语法错误。然后我改成方括号,它起作用了! ALTER LOGIN [login_name] WITH DEFAULT_DATABASE = [default_database]
    • 这应该是 SQL Server 普遍接受的答案(2005 年以上);但是OP声明了SQL 2000(但没有正确标记它),所以在这种情况下它不是,并且接受的答案是正确的。
    【解决方案2】:

    来自:http://doc.ddart.net/mssql/sql70/sp_da-di_6.htm

    sp_defaultdb [@loginame =] 'login' , [@defdb =] 'database'
    

    【讨论】:

    【解决方案3】:

    谢谢斯蒂芬。

    请注意,如果您使用的是 Windows 身份验证,@loginnameYourDomain\YourLogin(对其他人来说可能很明显,但我试了几次。

    sp_defaultdb @loginame='YourDomain\YourLogin', @defdb='YourDatabase'
    

    【讨论】:

      【解决方案4】:

      如果您在登录后尝试更改正在使用的数据库,您可以使用 USE 命令。例如。使用北风。

      https://www.tutorialspoint.com/sql/sql-select-database.htm

      【讨论】:

      • 谢谢,放一个新链接
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      • 2019-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-22
      • 2015-02-20
      相关资源
      最近更新 更多