我正在开发一个使用SQL Server 2005作为数据存储的开源项目.我们需要一个DB比较工具来生成diff脚本,以便能够将DB从一个版本升级到另一个版本.
是否有一个开源或免费的SQL Server数据库差异工具,生成转换脚本?
CURRENT_TIMESTAMP和GETDATE()SQL Server有什么区别?
SELECT CURRENT_TIMESTAMP, GETDATE()
Run Code Online (Sandbox Code Playgroud) Visual Studio中提供了不同类型的类库,例如Silverlight类库,可移植类库和类库.这些类型有什么区别?我们如何确定带有File.dll文件的类库的类型?我们如何将类库从自己的类型更改为另一种类库?
我想在Column1和Column2中的SQL Server 2008 R2中创建索引以下查询的区别是什么:
不包括
CREATE NONCLUSTERED INDEX [IX_1] ON [dbo].[MyTable]
(
[Column1] ASC,
[Column2] ASC
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)或包括:
CREATE NONCLUSTERED INDEX [IX_2] ON [dbo].[MyTable]
(
[Column1] ASC
)
INCLUDE ([Column2]) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)在简单数据库中使用数据库图时,SQL Server在Table\Systam Tables节点中创建一个dbo.sysdiagrams表(在Microsoft management studio\object explorer中).但sysdiagrams表在SQL Server中标记为用户表.您可以通过以下查询获取用户表.
SELECT *
FROM sys.tables t
WHERE OBJECTPROPERTY(t.object_id,'IsUserTable') = 1
Run Code Online (Sandbox Code Playgroud)

我不知道sysdiagram表是系统表还是用户表.
存在microsoft_database_tools_support的值1在sysdiagram的扩展属性中,它确定自动创建的表.

sql-server sql-server-2008 sql-server-2008-r2 sql-server-2012
我使用SQL Server,我有3个应用程序服务器.当我的数据库中的表发生更改时,我需要向那些应用程序服务器刷新本地缓存的数据.我使用触发器来进行已知更改并通过服务代理队列发送消息.然后我创建一个存储过程并分配它来激活我的队列的存储过程,在这个存储过程中我收到消息,但我不知道如何在我的应用程序中调用refresh方法.
c# sql-server sql-server-2008 sql-server-2008-r2 sql-server-2012
谁能解释xp_Delete_filesql server 中的参数列表.我找不到此存储过程的msdn文档.
我从维护计划获得了xp_Delete_file的脚本但是没有理解第一个参数.
sql-server sql-server-2008-r2 sql-server-2012 sql-server-2014
1 /以下代码片段显示了预期的错误:INSERT语句与FOREIGN KEY约束FK _...冲突.
SET XACT_ABORT ON;
BEGIN TRANSACTION
INSERT INTO linkedsrv1.db1.[dbo].tbl1 ([Col1], [Col2])
VALUES (1200, 0)
COMMIT TRANSACTION
Run Code Online (Sandbox Code Playgroud)
2 /但是当我把它放在BEGIN TRY/CATCH中时,错误消息是模糊的:消息1206,级别18,状态118,行18 Microsoft分布式事务处理协调器(MS DTC)已取消分布式事务.
SET XACT_ABORT ON;
BEGIN TRY
BEGIN TRANSACTION
-- Error is on this line
INSERT INTO linkedsrv1.db1.[dbo].tbl1 ([IdWebsite], [IdProductType])
VALUES (1200, 0)
COMMIT TRANSACTION
END TRY
BEGIN CATCH
PRINT 'Error' -- Code not reached
SELECT ERROR_NUMBER(), ERROR_MESSAGE(), ERROR_SEVERITY(), ERROR_STATE()
IF XACT_STATE() != 0
ROLLBACK TRANSACTION
END CATCH
Run Code Online (Sandbox Code Playgroud)
知道为什么会这样吗?
稍后编辑:
它适用于我删除不需要的显式事务.当我放入BEGIN/COMMIT TRAN时,我仍然不清楚为什么会出现这个错误.
如果我在链接服务器上的多个表中有多个插入,我会得到相同的错误.
欢迎任何评论/评论.
我使用sql server并拥有一个巨大的数据库,在多个文件组中按日期分区.数据库文件组是PRIMARY, FG2010, FG2011, FG2012, FG2013, and FG2014,FG2010,FG2011,FG2012和FG2013是只读的.
现在,备份方案是:
每个星期五凌晨2点获得完整备份
除周五外的每周一天在凌晨2:00获得差异备份
我想将此方案更改为:
获得数据库的完整备份(一次)
每周五凌晨2:00获得PRIMARY和FG2014的完整备份
除星期五凌晨2点外,每天都会获得PRIMARY和FG2014的差异备份
问题1:我可以有这种情况吗?
我也有恢复计划.每天我通过作业自动将备份文件复制到另一台服务器然后恢复它,以便有恢复测试计划,并使用恢复的数据库给开发人员和测试人员用户.
我希望有以下恢复计划方案:
恢复数据库的完整备份.
恢复PRIMARY和FG2014的上次完整备份.
恢复PRIMARY和FG2014的上次差异备份.
问题2:我可以将此方案用于恢复计划吗?
问题3:我可以有更好的备份和恢复方案吗?
请用TSQL查询回答我的问题.
sql-server backup restore sql-server-2008-r2 sql-server-2012
我正在创建一个模拟VPN(实际上并不创建与服务器的真实连接)来获取所有传入和传出的网络字节(信息).
现在我可以获取数据包并解析它们.我得到的例子:
IP版本:4标题长度:20总长度:60协议:6源IP:10.0.2.0目标IP:5.20.5.59主机名:clients4.google.com
我想知道我应该怎么做以及如何建立与网站/应用程序的连接(现在它没有连接).
在这个网站:http://www.thegeekstuff.com/2014/06/android-vpn-service/写道,需要做出这些步骤:
在第2步,我从数据包中获取信息.但是不要轻视它应该如何进一步完成.也许有人可以详细解释我.另外,也许可以告诉我如何获得目的地港口,当我有其IP地址.还有代码:
public class VPN extends VpnService implements Handler.Callback, Runnable {
private static final String TAG = "VpnService";
private String mServerAddress = "127.0.0.1";
private int mServerPort = 55555;
private Handler mHandler;
private Thread mThread;
private ParcelFileDescriptor mInterface;
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (mHandler == null) {
mHandler = new Handler(this);
}
if (mThread != null) {
mThread.interrupt();
}
mThread = new …Run Code Online (Sandbox Code Playgroud)