标签: sql-server-2012

smo恢复数据库

我使用SQL Server SMO将.bak还原到新数据库,但无法正常工作.

sql server是2012,smo对象版本来自最新的sdk版本11.0

文件.bak是使用sql management studio 2012,相同的本地pc,在同一个编码的PC上创建的.

我得到的错误信息是:

服务器'SERVER'的恢复失败.

我的代码出了什么问题?

string dbPath = Path.Combine(@"d:\my data", dbName + "_db" + ".mdf");
string logPath = Path.Combine(@"d:\my data", dbName + "_db" + "_Log.ldf");

Restore restore = new Restore();

BackupDeviceItem deviceItem = new BackupDeviceItem("d:\template.BAK", DeviceType.File);
restore.Devices.Add(deviceItem);
restore.Database = dbName + "_db";

RelocateFile relocateDataFile = new RelocateFile("Data", dbPath);
RelocateFile relocateLogFile = new RelocateFile("Log", logPath);

restore.RelocateFiles.Add(relocateDataFile);
restore.RelocateFiles.Add(relocateLogFile);

restore.Action = RestoreActionType.Database;
restore.ReplaceDatabase = true;
restore.SqlRestore(server);
Run Code Online (Sandbox Code Playgroud)

更新:我放弃了SMO解决方案,并尝试过

 using (SqlConnection connection = new SqlConnection("Data Source=server;user id=sa;password=xxxxx;"))
        { …
Run Code Online (Sandbox Code Playgroud)

c# sql-server smo sql-server-2012

13
推荐指数
1
解决办法
1万
查看次数

将数据库从SQL Server 2012传输到SQL Server 2008

我已经有一个SQL Server 2012企业版数据库.

它包含 :

  • 意见
  • 程序
  • 对象

现在我想将数据库降级到SQL Server 2008企业版.我知道没有直接的选择.我试图在2012年备份,然后在2008年恢复.不工作.

关于如何完全转移数据库的任何想法?

database sql-server database-migration sql-server-2008 sql-server-2012

13
推荐指数
1
解决办法
3万
查看次数

无法让SQL Server通过SSMS启动或连接到我的本地数据库引擎

SQL Server一直运行良好但从星期五起我无法连接到SSMS中的数据库引擎.这恰好是我在Windows更新期间关闭笔记本电脑的原因,因为它似乎挂起了(我不知道这两者是否相关).

从那以后我有:

  • 在更新失败之前返回到还原点
  • 从我的计算机中删除了SQL Server 2008
  • 将SQL Server 2012安装到我的计算机上.这在加载期间失败
  • 从我的机器中删除了标记为SQL Server的所有内容
  • 重做失败的Windows更新
  • 已安装的SQL Server 2012在加载时再次失败
  • 创建了自签名证书(http://technet.microsoft.com/en-us/library/cc753127(v=WS.10).aspx)
  • 试图从服务和SSCM启动SQL Server没有运气
  • 尝试了SQL Server的各种登录选项 - 在本地系统下服务将启动但我仍然无法连接到SSMS中的数据库引擎
  • 阅读无尽的帖子和文章

任何人都可以帮助我在我的机器上启动SQL Server,然后使用SSMS连接到数据库引擎吗?

安装的故障日志提供了以下信息:

2013-03-05 12:17:37.34 Server  Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64)  Dec 28   2012 20:23:12  Copyright (c) Microsoft Corporation  Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)  
2013-03-05 12:17:37.34 Server  (c) Microsoft Corporation.  
2013-03-05 12:17:37.34 Server  All rights reserved.  
2013-03-05 12:17:37.34 Server  Server process ID is …
Run Code Online (Sandbox Code Playgroud)

sql-server ssms ssl-certificate sql-server-2012

13
推荐指数
2
解决办法
2万
查看次数

Sql server - 递归删除

我正在尝试删除用户的数据及其位于不同表中的所有相关数据.所有表都有外键但没有级联删除.

我研究了一些选择:

  1. 在所有FK上启用级联删除,删除并删除级联删除.
  2. 从底部删除UP,循环删除所有叶子并重复此操作直到Root.

有没有更智能的选项或其他技术?

我正在使用Microsoft SQL Server 2012(SP1)

sql t-sql sql-server-2012

13
推荐指数
2
解决办法
6825
查看次数

使用SQL Server 2012将多行插入临时表

这里的 StackOverflow问题,这里这里都说同样的事情,但我不能让它在SSMS或SQLFiddle中运行

CREATE TABLE #Names
  ( 
    Name1 VARCHAR(100),
    Name2 VARCHAR(100)
  ) 

INSERT INTO #Names
  (Name1, Name2)
VALUES
  ('Matt', 'Matthew'),
  ('Matt', 'Marshal'),
  ('Matt', 'Mattison')
Run Code Online (Sandbox Code Playgroud)

当我执行这是SSMS时,插入失败,并在第一行后面显示以下消息 VALUES

消息102,级别15,状态1,行10
','附近的语法不正确.

这个Fiddle在没有#符号的情况下运行,并且当表名是时#Names,架构成功执行,但是当我尝试从表中选择*时,我收到以下消息

无效的对象名称'#NAMES':SELECT*FROM #NAMES

SQL Server 2012是否支持多个插入?


更新:显然在SSMS 2012上访问2005服务器....

SELECT @@VERSION --Returns: Microsoft SQL Server 2005
Run Code Online (Sandbox Code Playgroud)

sql bulkinsert sql-server-2012

13
推荐指数
2
解决办法
9万
查看次数

十进制超出范围

我正在尝试将小数存储140.2705893427到SQL Server 2012表中.该列的数据类型为decimal(12, 10)但我收到错误:

{"Parameter value '140.2705893427' is out of range."}
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

c# sql-server-2012 entity-framework-5

13
推荐指数
1
解决办法
5676
查看次数

DBCC SHRINKFILE的进展

我有一个21 Gb数据库; 其中20 Gb是文件(FileStream),我从表中删除了所有文件但是当我进行备份时,备份文件仍为21 GB.

为了解决这个问题,我成了"释放未使用空间"的理念.

所以我试图缩小我的数据库,如下所示:

USE Db;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE Db
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (Db, 100);
GO
-- Reset the database recovery model.
ALTER DATABASE Db
SET RECOVERY FULL;
GO

SELECT file_id, name
FROM sys.database_files;
GO
DBCC SHRINKFILE (1, TRUNCATEONLY);
Run Code Online (Sandbox Code Playgroud)

如果我在XX分钟后对数据库进行备份,那么备份文件大小为1 Gb,这样我就可以看到已经成功清理了未使用的空间.换句话说,上面的Sql代码工作正常(XX分钟后的数据库是schrunk).


这个问题我需要等待,直到此查询(收缩操作)完成,所以我努力做到以下几点: …

c# sql-server sql-server-2012

13
推荐指数
1
解决办法
1940
查看次数

实体数据模型向导太慢(SQL数据库)

使用:visual studio 2012 Ultimate,ADO Entity Framework 6,数据库:Sql express 2014(安装在本地PC上),数据库表计数:174表.

我正在尝试使用实体数据模型向导创建数据库模型,但创建模型大约需要8个小时(对话框没有响应).

我试图重新安装visual studio和Entity Framework但同样的问题.我需要任何可以加速数据库模型创建的想法.

第一张图片 第二张图片 第三张图片

c# entity-framework entity-framework-4 sql-server-2012 entity-framework-5

13
推荐指数
2
解决办法
7459
查看次数

SQL Server可以插入单个插入语句中的最大行数

我想做一个批量插入,类似于这个问题

如何在MySQL中进行批量插入

  1. SQL Server是否可以在单个insert语句中插入多少行?

  2. 例如,插入第一个值但第二个值导致主键违规时会发生什么.这些INSERT陈述是否已回滚?

INSERT INTO tbl_name (a,b) 
VALUES (1, 2), (1, 3));
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2012

13
推荐指数
3
解决办法
3万
查看次数

数据库MS SQL Server的活动日志

我有一个包含一百多个表的数据库.我不断向现有表添加列(如果需要),我还添加了几个新表.

现在我想查看我在过去3个月中所做的更改.MS SQL Server 2012中是否有针对该特定数据库的活动日志来跟踪更改.

sql sql-server sql-server-2012

13
推荐指数
3
解决办法
1万
查看次数