相关疑难解决方法(0)

如何在不使用MS SQL Server Management Studio的情况下更改SQL Server中的默认数据库?

我从SQL Server中删除了一个数据库,但事实证明我的登录设置为使用已删除的数据库作为其默认值.我可以使用连接对话框中的"选项"按钮连接到SQL Server Management Studio,并选择"master"作为要连接的数据库.但是,每当我尝试在对象资源管理器中执行任何操作时,它都会尝试使用我的默认数据库进行连接并失败.

有没有人知道如何在不使用object explorer的情况下设置我的默认数据库?

sql-server ssms sql-server-2005 default-database

161
推荐指数
8
解决办法
23万
查看次数

从 C# 确定 SQL Server 数据库列的默认值

我需要从 .Net 查找 SQL Server 2005 或 2008 数据库中列的默认值。

我的第一次尝试是执行存储过程:

sp_help @objname
Run Code Online (Sandbox Code Playgroud)

@objname桌子在哪里。然后在返回的第七个表(约束表)中,我将使用constraint_keys默认约束的值。当我从 SQL Server Management Studio 运行此查询时,它的行为符合预期,但当我从 C# 代码运行它时,该constraint_keys列为空(尽管所有其他列都已填充)。

我的第二次尝试是使用:

SELECT name, [text]
FROM syscomments com
    INNER JOIN syscolumns col ON com.id = col.cdefault
WHERE col.id = object_id(@Table)
    AND col.cdefault > 0
Run Code Online (Sandbox Code Playgroud)

这在 SQL Server Management Studio 中也可以正常工作。然而,当我从 .Net 运行它时,它不返回任何行。

额外的:

.Net 代码示例(使用企业库):

    private DataTable GetDefaults(string tablename string database)
    {            
        var db = DatabaseEL.Create(database);

        string sql = @"
            SELECT name, [text]
            FROM syscomments com …
Run Code Online (Sandbox Code Playgroud)

.net c# t-sql sql-server database-schema

2
推荐指数
1
解决办法
3688
查看次数

-2
推荐指数
1
解决办法
5285
查看次数