C# SQL Server代理在哪里?我需要它吗?

C# SQL Server代理在哪里?我需要它吗?,c#,sql-server,sql-server-2008,C#,Sql Server,Sql Server 2008,我想用2008SQLServerMGTStudio将2005DB升级到2008,并在最后得到警告。问题: 我不再有SQL Server 2008的磁盘;我需要它来安装或启动代理吗?如果我无法安装代理,升级到2008是否有效 如果代理可能已安装但尚未启动,那么它在哪里?我看到另一个SO帖子说这是一个登录选项,但我在任何地方都没有看到 顺便说一句,我唯一真正想麻烦的是datetime类型已经成为一个问题。在date和datetime2出现之前,当人们需要早于18世纪的日期时,他们会怎么做 来自:复制

我想用2008SQLServerMGTStudio将2005DB升级到2008,并在最后得到警告。问题:

  • 我不再有SQL Server 2008的磁盘;我需要它来安装或启动代理吗?如果我无法安装代理,升级到2008是否有效
  • 如果代理可能已安装但尚未启动,那么它在哪里?我看到另一个SO帖子说这是一个登录选项,但我在任何地方都没有看到
  • 顺便说一句,我唯一真正想麻烦的是datetime类型已经成为一个问题。在date和datetime2出现之前,当人们需要早于18世纪的日期时,他们会怎么做

    来自:复制数据库向导的警告 SQL Server代理似乎未在目标服务器上运行。如果目标服务器上未运行SQL Server代理,则复制数据库向导将无法正常运行。你想继续吗

    试试看:

    start-> run->services.msc
    
    搜索sql server代理并查看它是否已启动

    在date和datetime2出现之前,当人们需要早于18世纪的日期时,他们会怎么做

    这是SQL Server的一个限制(可能还有其他DBMS)。我想说的是,由于C#(.NET)可以处理像“01/01/0001”这样的日期,因此您始终可以将日期转换为,将其保存为BIGINT并在检索后重新创建/重新生成。例如,要将今天的日期转换为长日期,可以执行以下操作:

    var dt = DateTime.Now.ToBinary();
    
    当然,这是一种黑客行为:)

    以下行将长的转换回日期:

    var dt1 = DateTime.FromBinary(dt);
    

    这是一项您需要启动的独立服务。^-在“控制面板上的服务”下,我刚刚从“控制面板”启动了该服务。谢谢,我有点像那样。如果您总是通过代码访问数据,尤其是如果您的另一个选择是无法持久保存正确的日期,那么不确定这是否是一种黑客行为。Cheers@MartinSmith:我回应了Berryl的“作为旁白,…”@JohnGathogo-是的,我撤回了我的反对票,并匆忙删除了我的评论,因为我在第一次阅读时没有看到。实际上应该是一个单独的问题,因为与标题中的问题完全无关。