我熟悉 bcp 实用程序,我有一个包含日期时间数据的大表,我以多种方式 bcp 输出它:本机、字符、分隔。
然后我 bcp 到一个与原始表具有相同列/格式的截断表中,但是,我得到如下错误:
----------------
Starting copy...
SQLState = 22008, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Invalid time format
SQLState = 22008, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Invalid time format
SQLState = 22008, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Invalid time format
SQLState = 22008, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Invalid date format
SQLState = 22008, NativeError = 0
Error = [Microsoft][SQL …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 SQL Server 2008 R2 中创建数据库的自动/每日备份。我做了一些研究,当我使用 Express 版本时我才知道;这不附带维护计划,我无法自动/每天创建数据库备份。因此,唯一的可能性是我必须使用 TSQL 或创建 Job。我对 SQL Job 了解不多,所以只剩下 T-SQL 了。
任何人都可以向我解释如何使用存储过程在 T-SQL 中自动备份数据库,或者我是否还有其他选项必须这样做。
问候。
我有数据库,我的任务是将两个数据库 DBName1 和 DBName2 移动到 SSD,而我在 SSD 上只有有限的空间来容纳这些数据库。出于显而易见的原因,我不想缩小日志或数据文件,Brent 或 Paul 可能会去疯狂的。我注意到数据库没有增长太多,它使用的是最初分配的一部分。日志文件的初始大小分别为当前大小 41GB 和 147GB。当我检查 DBCC SQLPERF(logspace) 时,我发现 41017.3 MB 日志大小和 0.4339632 % 日志空间使用 % 和状态 0 147474MB 日志大小和 0.08165617 日志空间使用 % 和状态 0。
Database Name Log Size (MB) Log Space Used (%) Status
DBNAme1 41017.3 0.4339632 0
DBName2 147474 0.08165617 0
Database files(Sp_Spaceused)
database_name database_size unallocated space
DBName1 126294.31 MB 67443.73 MB
reserved data index_size unused
18261272 KB 8347376 KB 9677480 KB 236416 KB
database_name database_size unallocated space
DBName2 271075.31 …Run Code Online (Sandbox Code Playgroud) 我们有一个 C# 多线程(100 个线程)程序,它从数据库中读取记录,每个线程获取一条记录(每个线程一个实体框架连接)并更新单个数据库表。
前几分钟(5 分钟)程序正常运行,然后突然所有线程开始抛出以下错误消息.. 约 1 分钟后,一切都会恢复正常阶段.. 我认为 SQL Server 也越来越好了单个数据库表的许多锁(可能正在尝试获取该表上的表锁)或与单个数据库的连接过多并关闭所有连接..
我无法调试这个,有人可以帮助我获取以下信息,
SQL Server 2012 在哪里存储其日志?
我们可以提高日志级别以查看为什么在保存数据库实体时会抛出异常
如何获取每个表的锁数,DB 获取的不同类型的锁(表锁、页锁、行锁数等)
调试此问题的任何其他指针。
仅供参考,我在从这个 cmd 得到的 sqlerror 日志中没有发现任何有用的东西:
SELECT SERVERPROPERTY('ErrorLogFileName')
这是异常的堆栈跟踪:
System.Data.Entity.Infrastructure.CommitFailedException: An error was reported while committing a database transaction but it could not be determined whether the transaction succeeded or failed on the database server. See the inner exception and http://go.microsoft.com/fwlink/?LinkId=313468 for more information.
System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the …Run Code Online (Sandbox Code Playgroud) 查看 Microsoft 文档,它说创建唯一约束时,会自动创建唯一索引。
是否有一个技巧/解决方法来拥有一个唯一的约束而不是一个唯一的索引,所以它不占用空间?
我正在尝试在 SQL Server 2008 中导入 CSV 文件。BULK INSERT是一种方法,但它适用于SQL Server 2014 以后的CSV 。
实现这一目标的替代方法是什么?
任何想法/想法都非常感谢。
我们使用 RocksDB 作为我们的引擎已经有一段时间了,现在我们正在尝试迁移到 WiredTiger。我们有一些相当大的数据库,大约有 4~12 TB 的数据,根据文档中描述的过程,我们添加了一个带有 WiredTiger 的新节点,并尝试让它从头开始复制。
对于数据量,复制时间非常长,很多时候我们遇到的情况是 WiredTiger 节点决定更改它从中复制的节点,只是删除所有数据并重新从头开始。只有一次我们成功完成了复制,但与 oplog 相比,节点最终落后了很多。
同样,对于如此大量的数据,拥有足够大的 oplog 来保存数周的事务变得令人望而却步,并且该过程也非常脆弱、单线程、缓慢且容易失败。
所以我的问题如下:
是否有更好的方法来进行此迁移?
有没有办法加速复制(即多线程复制)?
有没有办法告诉新的 WiredTiger 节点在发生事故时停止丢弃所有数据?
我们正在使用 Percona MongoDB 3.4.13 版的 3 和 5 个节点副本集,并尝试迁移到开源 MongoDB 3.4.13(我们的想法是在 WiredTiger 中升级到 4.x 并完全放弃 RocksDB 和 Percona) .
我想我已经知道答案了,但我还是会问。
情况是:
如果我尝试恢复这些并创建一个 AG - 它会失败。在我重新创建 AG 之前,我需要进行另一个完整的 Db 备份 = 另一个 6 小时。
所以 COPY ONLY 备份是没有用的。除非我错过了什么?这些有什么意义?
我有六个错误日志加上当前。他们在我的 VPS 服务器上占用了我硬盘上 10G 的磁盘空间。这大约是服务器空间的 25%。最大的文件是 6G 并且还在增长。
我如何删除不需要的错误日志并在回收之前减小存档文件的大小。
谢谢,
我想查看有关表被完全扫描多少次的信息。我希望有类似sys.dm_db_index_usage_stats但表扫描的东西。博客keepitssimleandfast 中描述了一种方法,但我宁愿自服务器启动以来进行所有扫描。
我正在寻找的东西也类似于pg_stat_all_tables.seq_scanPostgreSQL。