我一直在SQL Server 2005试图获取大量数据.我已经获得了一个包含近300个表的数据库,我需要将其转换为MySQL数据库.我的第一个调用是使用bcp,但不幸的是它没有生成有效的CSV - 字符串没有封装,所以你不能处理任何带有逗号的字符串(或者你用作分隔符的任何行)我仍然需要手工编写所有的create table语句,因为很明显CSV并没有告诉你有关数据类型的任何信息.
更好的是,如果有一些工具可以连接到SQL Server和MySQL,然后进行复制.您丢失了视图,存储过程,触发器等,但是复制仅使用基本类型从一个数据库到另一个数据库的表并不困难......是吗?
有人知道这样的工具吗?我不介意它做了多少假设或简化发生,只要它支持整数,浮点数,日期时间和字符串.我不得不做很多修剪,正常化等等,所以我不关心保持键,关系或类似的东西,但我需要快速的初始数据集!
我正在使用WinHost.com来托管我的网站.SQL数据库/成员资格系统在我的本地计算机上运行良好,但上传到服务器时它不起作用.我已经正确地遵循了所有步骤.我已经联系了我的服务支持,但已经超过2周,没有回复.
当我尝试在我的网站上的会员页面上登录或注册新用户时,我一直收到此错误.
Server Error in '/' Application.
--------------------------------------------------------------------------------
Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be …Run Code Online (Sandbox Code Playgroud) 所以我有一个以标识列为主键的表,所以它是一个整数.那么,为什么SCOPE_IDENTITY()总是向我的C#应用程序返回一个十进制值而不是一个int?这真的很烦人,因为十进制值不会隐式转换为C#中的整数,这意味着我现在必须重写一堆东西,并且有很多辅助方法,因为我使用SQL Server和Postgres,Postgres确实返回一个整数等效功能..
为什么SCOPE_IDENTITY()不只返回一个普通的整数?是否有人通常使用十进制/非身份值作为主键?
在这个实时SQL Server 2008(build 10.0.1600)数据库中,有一个Events表,其中包含一个text名为的列Details.(是的,我意识到这实际上应该是一个varchar(MAX)专栏,但无论是谁设置这个数据库都没有这样做.)
此列包含非常大的异常日志和我尝试通过SQL Server Management Studio访问的关联JSON数据,但每当我将结果从网格复制到文本编辑器时,它会以43679个字符截断它.
我已经阅读了Internet上的各种位置,您可以将XML数据检索的最大字符数设置Tools > Options > Query Results > SQL Server > Results To Grid为无限制,然后执行如下查询:
select Convert(xml, Details) from Events
where EventID = 13920
Run Code Online (Sandbox Code Playgroud)
(请注意,数据列根本不是XML.CONVERT将列添加到XML只是我从谷歌搜索中找到的一种解决方法,其他人习惯于绕过SSMS从一个text或一varchar(MAX)列中检索数据的限制.)
但是,在设置上面的选项,运行查询,然后单击结果中的链接后,我仍然会收到以下错误:
无法显示XML.发生以下错误:发生了意外的文件结束.第5行,位置220160.
一种解决方案是增加从服务器检索的用于XML数据的字符数.要更改此设置,请在"工具"菜单上单击"选项".
那么,关于如何访问这些数据的任何想法?将列转换为varchar(MAX)修复我的困境?
我正在寻找一个SQL Server函数来返回datetime的最小值,即1753年1月1日.我宁愿不将该日期值硬编码到我的脚本中.
这样的事情存在吗?(为了比较,在C#中,我可以做DateTime.MinValue)
或者我必须自己写吗?
我正在使用Microsoft SQL Server 2008 Express.
我正在使用SQL Server 2008,我需要在一个大约500k行的表上创建一个更大的VARCHAR字段,从(200到1200).我需要知道的是,如果有任何问题我没有考虑过.
我将使用此TSQL语句:
ALTER TABLE MyTable
ALTER COLUMN [MyColumn] VARCHAR(1200)
Run Code Online (Sandbox Code Playgroud)
我已经在数据的副本上试过了,这个陈述没有我能看到的不良影响.
这样做有什么可能的问题我可能没有考虑过吗?
顺便说一下,该列未编入索引.
MySQL有这个非常有用但又很合适的REPLACE INTOSQL命令.
这可以在SQL Server 2005中轻松模拟吗?
开始一个新的事务,在做了Select(),然后要么UPDATE或INSERT和COMMIT始终是一个痛苦的一点点,在应用程序中做特别是当,因此能始终保持2个版本的声明.
我想知道是否有一种简单而通用的方法将这样的功能实现到SQL Server 2005中?
我见过的每个SQL Server连接字符串都是这样的:
Data Source=MyLocalSqlServerInstance;Initial Catalog=My Nifty Database;
Integrated Security=SSPI;
Run Code Online (Sandbox Code Playgroud)
我是否需要初始目录设置?(显然不是,因为我正在处理的应用似乎没有它.)
那么,那是什么呢?
database sql-server connection-string database-connection sql-server-2005
如何判断哪些表占用了SQL Server 2005数据库中最多的空间?
我确信有一些系统存储过程可以显示此信息.
我有一个TEST数据库,从1tb增长到23tb.我们目前正在数据库中进行大量的客户端转换测试,这需要多次运行相同的转换存储过程.我确实正在增加事务日志的DELETE.但这让我想到问这个问题.
最大的问题是dbo.Download表,它创建了实际上不需要的大容量存储,在截断之前我有3GB,然后是52MB;)
sql-server ×10
mysql ×2
sql ×2
alter-column ×1
bcp ×1
csv ×1
database ×1
datetime ×1
function ×1
primary-key ×1
ssms ×1
varchar ×1