1

我正在使用 sql server 2008 R2,在一种情况下,我需要将默认数据库从“master”更改为“Test”,只要我点击 New Query,它将选择默认数据库为“Test”。为此,我使用以下查询来更改数据库优先级,

Exec sp_defaultdb @loginame='sa',@defdb='Test'

我可以将默认数据库更改为 Test for sa Login 但我想在 Windows 身份验证模式下更改它,我正在使用(本地)连接数据库。当我们使用 Windows 身份验证模式登录 SSMS 时,任何人都可以知道默认用户是什么。或任何其他将数据库的优先级更改为测试的解决方案?谢谢!在先进。

4

1 回答 1

2

在 Windows 身份验证模式下,您对 SQL Server 的凭据是相同的,就像在您的系统中一样。例如,在非域环境中,如果您的计算机名称是 CPU,登录名是 USER,那么 Windows 身份验证凭据将为:CPU\USER。如果您尝试从其他 PC 连接,凭据会有所不同。

因此,为了回答您的问题:当我们使用 Windows 身份验证模式登录 SSMS 时,没有默认用户。

对于第二个问题:您可以像此示例中那样为 Windows 身份验证用户执行此操作:

EXEC sp_defaultdb @loginame = 'CPU\USER' (Domain or Computer Name\Windows Login ) @defdb = 'Test'
于 2012-07-26T05:19:24.543 回答