我使用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) 我已经有一个SQL Server 2012企业版数据库.
它包含 :
现在我想将数据库降级到SQL Server 2008企业版.我知道没有直接的选择.我试图在2012年备份,然后在2008年恢复.不工作.
关于如何完全转移数据库的任何想法?
database sql-server database-migration sql-server-2008 sql-server-2012
SQL Server一直运行良好但从星期五起我无法连接到SSMS中的数据库引擎.这恰好是我在Windows更新期间关闭笔记本电脑的原因,因为它似乎挂起了(我不知道这两者是否相关).
从那以后我有:
任何人都可以帮助我在我的机器上启动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) 我正在尝试删除用户的数据及其位于不同表中的所有相关数据.所有表都有外键但没有级联删除.
我研究了一些选择:
有没有更智能的选项或其他技术?
我正在使用Microsoft SQL Server 2012(SP1)
这里的 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) 我正在尝试将小数存储140.2705893427到SQL Server 2012表中.该列的数据类型为decimal(12, 10)但我收到错误:
{"Parameter value '140.2705893427' is out of range."}
Run Code Online (Sandbox Code Playgroud)
为什么是这样?
我有一个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).
这个问题我需要等待,直到此查询(收缩操作)完成,所以我努力做到以下几点: …
使用: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
我想做一个批量插入,类似于这个问题
SQL Server是否可以在单个insert语句中插入多少行?
例如,插入第一个值但第二个值导致主键违规时会发生什么.这些INSERT陈述是否已回滚?
INSERT INTO tbl_name (a,b)
VALUES (1, 2), (1, 3));
Run Code Online (Sandbox Code Playgroud) 我有一个包含一百多个表的数据库.我不断向现有表添加列(如果需要),我还添加了几个新表.
现在我想查看我在过去3个月中所做的更改.MS SQL Server 2012中是否有针对该特定数据库的活动日志来跟踪更改.
sql-server-2012 ×10
sql-server ×6
c# ×4
sql ×4
bulkinsert ×1
database ×1
smo ×1
ssms ×1
t-sql ×1