标签: sql-server

无法在网络路径上使用 SQL Server 数据库

我现在在一个项目上工作了很长时间。它是一个与 SQL Server 数据库(.mdf、LINQ to SQL)配合使用的 .NET 应用程序。现在我快完成了,想运行一些测试。

但在这里我完全搞砸了。到目前为止,我的应用程序只在我自己的电脑上运行,.mdf 文件存储在本地。我实际计划的是一个应用程序,它连接到存储在来自不同机器的网络路径上的数据库。

现在我读到这在 SQL Server 数据库中是不可能的?!我也收到消息:

文件 xxx.mdf 位于数据库文件不支持的网络路径上。

任何人都可以想出一个选项,如何在不重新编程整个数据库的情况下解决这个问题?

我首先想到的一个可能的明显绝望的解决方案是:

  1. 让我的应用程序找到网络路径上的数据库文件
  2. 将 .mdf + .log 文件复制到本地文件夹
  3. 执行读/写操作...或用户想做的任何事情
  4. 最后将整个 .mdf + .log 文件复制/替换回网络文件夹

如果我的问题没有其他解决方案,我的解决方案是否有效?如果可以,避免并发更新的可能性有多大?

请帮助并提前致谢!

sql-server network

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

删除特定的重复项(除最新之外的所有)

删除重复行时,使用教程中的以下查询,我将如何强制删除找到的哪些重复行?

DELETE FROM dbo.ATTENDANCE 
    WHERE AUTOID NOT IN (SELECT MIN(AUTOID) _
FROM dbo.ATTENDANCE 
    GROUP BY EMPLOYEE_ID,ATTENDANCE_DATE) 
Run Code Online (Sandbox Code Playgroud)

这很好用。我使用这个的原因是因为唯一可用的唯一 ID 是IDENTITY列中的一个。为了确定是否有重复的行,我必须查看多列的组合。

但是,如果我有一组重复的行,我/SQL Server 如何决定删除哪些行?我将如何强制它删除除最高IDENTITY值之外的所有内容?

EMPLOYEE_ID     ATTENDANCE_DATE     AUTOID
A001            2011-01-01          1
A001            2011-01-01          2
Run Code Online (Sandbox Code Playgroud)

如果我现在运行查询,它恰好删除了第二个,有AUTOID2 个。但我试图删除除这个之外的所有内容(因为这是最新添加的)。

sql-server sql-server-2012

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

格式化函数返回分钟而不是几个月?

在探索新功能时,FORMAT我遇到了以下问题,想知道是否有其他人遇到过类似的问题并找到了解决方案,或者它是否是一个错误?

SELECT FORMAT(GETDATE(),'mm/dd/yyyy','en-US');
SELECT GETDATE();
Run Code Online (Sandbox Code Playgroud)

输出:

  1. 02/02/2013
  2. 2013-06-02 12:02:54.067

sql-server sql-server-2012

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

数据库还原是否删除现有的存储过程

我有一个PRODNON-PROD系统

NON-PROD 已经拥有应用程序 PROD 数据库的副本

我还在NON-PROD应用程序数据库上创建了新的存储过程并对一些旧的进行了更改

如果我要对PROD应用程序数据库进行全新备份,并在NON-PROD服务器上恢复它,是否会:

  1. 删除我在非生产应用程序数据库上创建的新存储过程?

  2. 删除对与 PROD 应用程序数据库同名的存储过程(NON-PROD 应用程序数据库)所做的更改,并将它们替换为来自 PROD 应用程序数据库的原始存储过程?

sql-server sql-server-2008-r2

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

不支持批量插入

我有一个文本文件,我想将其插入到数据库的表中。

我的查询如下所示:

BULK INSERT myDepartment
FROM 'C:\myDepartment-c-t.txt'
WITH (
  DATAFILETYPE = 'char',
  FIELDTERMINATOR = '\t', -- default terminator
  ROWTERMINATOR = '\n'
);
Run Code Online (Sandbox Code Playgroud)

在执行它时,SQL Server Management Studio 2008 给出以下错误:

BULK INSERT myDepartment
FROM 'C:\myDepartment-c-t.txt'
WITH (
  DATAFILETYPE = 'char',
  FIELDTERMINATOR = '\t', -- default terminator
  ROWTERMINATOR = '\n'
);
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索,发现 SQL Server 2008确实支持BULK INSERT. 谁能告诉我我错过了什么?

sql-server azure-sql-database bulk-insert

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

SQL 代理作业的历史记录 (SQL Server 2005)

  • 我怎样才能看到来自 的所有可用记录SQL Agent Jobs,因为SSMS只显示减少的记录数
  • 这些记录是否存储在system databases, 不仅是普通的log files
  • 如何获取仅由 SQL 代理作业生成的记录
  • 这个历史可以设置吗

在此处输入图片说明在此处输入图片说明

sql-server-2005 sql-server

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

在事务进行时收缩事务日志

我有几个 GB 的导入到我的 SQL Server 2005(标准版)数据库中。

导入分为 4 个部分,每个部分在自己的事务中。

您可以猜到,事务日志文件非常大。我磁盘上的空间也有限,但应该适合数据。导入时,磁盘上的可用空间约为 2 GB。

在我的交易正在进行时缩小文件是否有效?也会有影响吗?

sql-server-2005 sql-server shrink transaction transaction-log

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

如何选择具有最大和最小计数的行?

我在 SQL Server 2012 中有下表:

CREATE TABLE [MyTable] (
    [Id] UNIQUEIDENTIFIER NOT NULL PRIMARY KEY DEFAULT NEWID(),
    [MyGroup] INT NOT NULL
);
Run Code Online (Sandbox Code Playgroud)

我想输出表格的表格

    | MyGroup | Count
Max |         |
Min |         |
Run Code Online (Sandbox Code Playgroud)

例如,如果我30在MyTable的行,其中MyGroup的= 120行,其中MyGroup的= 2,和10行,其中MyGroup的= 3,然后

    | MyGroup | Count
Max | 1       | 30
Min | 3       | 10
Run Code Online (Sandbox Code Playgroud)

什么样的查询会输出这些信息?

sql-server aggregate count sql-server-2012

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

SQL Server 2008 R2 中的偷偷回滚

是否可以在 SQL Server 2008 R2 中回滚一整套已提交的事务而无需任何通知或日志记录?

本周末,我们在 HA 集群 SQL Server 2008 R2 环境中显然回滚了一组数据。数据存在,现在不存在。SQL Server 错误日志中没有任何内容,群集日志中也没有任何内容。最初加载数据的 SQL Server 代理作业成功运行(包括从进程本身发送的进度电子邮件)。

唯一没有回滚的是批量插入的数据。数据库设置为完全恢复,因此批量插入的数据也应该回滚,对吗?

很抱歉缺乏细节,但我真的很难过。甚至想不出还有什么地方可以看。

sql-server sql-server-2008-r2 transaction-log

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

每天每分钟运行一次作业,特定时间除外

我有一个 Sql server 2012 代理作业,它目前每分钟、每天等运行一次。

我想修改它,使其每天每分钟运行一次,星期六晚上 7:00 到 11:30 除外。作业调度程序可以做到这一点吗?

我尝试使用每日频率,我可以通过这种方式每天更改时间,但不能更改特定日期。

当前时间表:

在此处输入图片说明

sql-server sql-server-2012 sql-server-agent

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