【发布时间】:2012-10-04 17:55:23
【问题描述】:
背景:
我正在使用 sql 语句在服务器上创建一个临时数据库,该数据库将存储数据,直到我的客户端程序进一步需要它为止。
问题:
创建数据库的我的 sql 语句正常工作,并在通过 Sql Management Studio 运行时创建具有所有必需规范的数据库,另一方面,当我的程序执行该语句时,它只创建一个具有“默认”设置的数据库,除了名字。
问题:
- 这是为什么呢?
- 如何让它按照我的规范创建数据库
Sql语句:
在 PRIMARY 上创建数据库临时( 名称 = 温度 , 文件名 = 'C:\Temp.mdf' , 大小 = 2MB , 文件增长 = 10%) 登录 ( 名称 = Temp_Log , 文件名 = 'C:\Temp.ldf' , 大小 = 1MB, 最大大小 = 70MB , 文件增长 = 10%)
代码:
public void AcuConvert()
{
using (DestD)
{
SqlCommand command = new SqlCommand();
DestD.Open();
command.Connection = DestD;
foreach (var item in Entity.SqlDestinationQueries.ToList())
{
command.CommandText = item.Query;
command.ExecuteNonQuery(); //This is where the command is run
}
foreach (var item in Entity.SystemQueries.ToList())
{
command.CommandText = item.Query.Replace("@Sys", SysD.Database);
command.ExecuteNonQuery();
}
foreach (var item in Entity.InsertQueries.ToList())
{
command.CommandText = item.Query.Replace("@Source", SourceD.Database); ;
command.ExecuteNonQuery();
}
}
}
【问题讨论】:
-
您是否尝试过在服务器上运行 SQL Profiler 并捕获对服务器执行的确切命令?这可能会为您提供有关它为什么不添加设置的线索。
-
实际应用了哪些设置?
-
什么是连接字符串值以及您在 SSMS 中连接的用户?
-
连接的用户对所有内容拥有完全权限,通过上述代码创建时应用于数据库的设置的日志文件最大大小为 5mb,默认起始大小为 10mb
-
我在我的一个应用程序中做同样的事情 - 但使用 OleDB - 它工作正常......
标签: c# sql sql-server