小编Col*_*art的帖子

将 YYYY-MM-DD 日期(无时区)转换为 Postgres 中的 unix 时间戳

我有一个date具有以下值格式的类型列:(YYYY-MM-DD例如。2018-08-03)。我想获得与日期等效的 unix 时间戳,但没有时区。

Fe 日期2018-08-03应该相等1533254400(从这里计算)。

我试过了,to_timestamp(my_date_column, 'YYYY-MM-DD')但它返回 error function to_timestamp(date, unknown) does not exist。我尝试::timestamp...在函数调用结束时添加不同的变体,但无济于事。

目前我在应用程序层进行时间戳转换,但我想将该工作专用于数据库。

postgresql timestamp type-conversion date postgresql-9.6

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

“错误:时间戳超出范围”将存储为 bigint 的纪元转换为时间戳

ERROR: timestamp out of range: "1.52701e+15"当我尝试将存储为 bigint 的纪元转换为时间戳(值取自真实数据库表)时,我得到了:

select to_timestamp(1527012834506374);
ERROR:  timestamp out of range: "1.52701e+15"
Run Code Online (Sandbox Code Playgroud)

其他转换方法也不起作用:

select 1527012834506374::abstime::timestamp;
ERROR:  cannot cast type bigint to abstime

select 1527012834506374::integer::abstime::timestamp;
ERROR:  integer out of range
Run Code Online (Sandbox Code Playgroud)

这是一个有效的时代;https://www.epochconverter.com/告诉我 1527012834506374 相当于 2018-05-22 06:13:54.506 UTC

如何在 Postgres 中使用 SQL 进行转换?

postgresql timestamp type-conversion postgresql-10

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

创建用户时应以哪种形式提供 Microsoft SQL 密码?

我正在根据这篇 MSDN 文章的指导创建一个 Microsoft SQL 服务器用户,并向系统提供以下命令:

CREATE LOGIN MyName WITH PASSWORD = 'MyPass';
使用我的$DatabaseName;
CREATE USER MyName FOR LOGIN MyName;

我使用 SQL Studio 通过单击Logins列表中的名称再次查看密码。在那里我看到密码上的星号太多了,它可能代表我给定的密码。

我的问题是,如果我根据我写的(纯文本)提供密码,我是否正确提供了密码?我在登录数据库时遇到问题,我现在不知道那里的密码是否正确。

(MSDN 上的链接没有说明任何关于加密的内容,但我不能说示例密码是否遵循某些加密规则。)

sql-server-2008 users password

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

使用 SQL 身份验证的 OPENDATASOURCE 命令的工作示例

我需要在数百个不属于域的服务器上运行一些临时查询。每个服务器都有一个低权限 SQL 用户帐户,该帐户对一些感兴趣的表具有只读访问权限。

我的想法是将这些服务器的名称存储在一个表中,并使用该表来驱动 OPENDATASOURCE 或 OPENROWSET 命令。

服务器要么在不同的域中,要么在不受信任的域中,要么在工作组中,等等。一团糟。

我一生都找不到如何配置这些命令以使用 SQL Server 帐户/密码组合的示例。

注意:这发生在沙箱中,并不适用于现实世界。这只是一个概念证明,因此安全性不是主要问题。这些服务器是通过一个模拟真实网络增长的过程产生的。

作为记录,我能够让 OPENROWSET 工作:

SELECT *
FROM OPENROWSET('SQLNCLI',
   'DRIVER={SQL Server};SERVER=MyServer;UID=MyUserID;PWD=MyCleverPassword',
   'select @@ServerName')         
Run Code Online (Sandbox Code Playgroud)

authentication sql-server openrowset

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

发现 SQL Server 2008 R2 的重要问题。需要建议

最近在安装我的 SQL Server 2008 R2 副本时;电源关闭。所以现在它确实说安装了一些功能,有些没有,但是当我运行 SQL 服务器检测管理器时,它说没有任何东西。我进一步询问,登记柜台可能有问题。我还尝试从控制面板卸载 SQL 服务器的已安装组件,并且我成功卸载了一些组件,但其他一些人现在说现在缺少一些完全其他的组件,因此无法卸载

日志错误如下:

警告 26003。无法卸载 Microsoft SQL Server 2008 R2 安装支持文件,因为安装了以下产品:* SQL Server 2008 R2 通用文件 * SQL Server 2008 R2 数据库引擎共享。

请问我可以为这个问题提供一些专家或新手(几乎任何人)的建议和解决方案。

sql-server installation

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

使用中央管理服务器提供令人信服的性能统计数据

中央管理服务器

我工作的公司为其 Windows 客户端提供专用的 VMware 托管服务器。在这些 Windows 客户端中,基本上有 60 个单实例 SQL Server,版本从 2000 年到 2008 年不等。其中有 40 个 Express 版、10 个标准版以及多个 MSDE 和工作组版。

通过配置为中央管理服务器的全新SQL Server 2008 R2 标准版,我可以同时访问这些远程机器中的每一台。每个服务器都根据其版本 8、9 或 10 注册到一个组中。这意味着我可以根据它们的版本查询每组服务器以避免兼容性错误。

问题

通常,我们只能推销增加 RAM、CPU 或将 SQL Server 移到专用机器上的想法,因为客户出于 N 种原因要求我们这样做。

目标

我想使用中央管理服务器更进一步,去我们的客户那里说,如果你这样做了,那么你的网站或应用程序会快 X 倍。想象一个需要 3 秒加载的 ASP 网页,通过增加 RAM,换句话说,根据缓冲池真正需要的内容,同一页面将在 1 秒内加载。

我从Brent Ozar 的 Take Over an Unknown Server 中找到了这行 T-SQL 代码

    SELECT  @@SERVERNAME AS ServerName ,
            YEAR(backup_finish_date) AS backup_year ,
            MONTH(backup_finish_date) AS backup_month , …
Run Code Online (Sandbox Code Playgroud)

performance monitoring sql-server-2008-r2 central-management-server

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

是否可以禁止访问自己模式中的表 - Oracle?

让我们假设我们有以下情况:我们有一个 Oracle 模式/用户:USER_TEST(具有“创建会话”权限)。SYS 作为 SYSDBA 在模式 USER_TEST 上创建几个表。是否可以禁止用户 USER_TEST 访问其架构上的表?

oracle database-design permissions vpd

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

SQL Server 2008 SP1 到 SQL Server 2008 R2 升级

我们的一个项目计划从 SQL Server 2008 SP1 升级到 SQL Server 2008 R2。我想从这个社区知道关于以下方面的建议:

  1. 迁移数据是否需要任何配置或任何更改?

  2. 我们有一些 SSIS 包,所以这次升级需要更改任何代码吗?

  3. 我们应该用来完成这项工作的任何其他建议或最佳实践。

  4. 应该采取什么方法?

sql-server-2008 ssis sql-server-2008-r2 upgrade

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

Oracle - 在“插入前”触发器中中止而不抛出异常

我知道这是一件糟糕的事情,原因有很多,但我处于“完成任务”模式,我们有一个我们无法修改的软件,可以将记录写入表。其中一些记录,出于业务原因,我们不希望出现在此表中。我想我可以编写一个触发器来“中止”这些行中的任何一行而不会抛出错误(这样应用程序就不会在前端失败,我们希望它认为它做了它的事情)。我非常熟悉这个应用程序,并且知道它不会造成任何丑陋的副作用,我们只是无法修改它以按照我们需要的方式运行。

那么,这有可能吗,如果没有,还有什么方法可以解决呢?我想过让某种工作定期清理我们不想要的记录表,但我宁愿这些记录永远不会在那里开始,所以在任何时候都没有程度的“肮脏”桌子。

trigger oracle oracle-10g vpd

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

使用 varbinary(max) 条件选择(在 where 子句中)

基础信息

  • 数据库:SQL Server Express 2008 R2
  • 客户:SQL Server Management Studio

背景(不感兴趣可跳过):

我正在维护的一个项目使用 ORM,它显然将我的枚举值(从 Byte 继承)存储到存储在 varbinary(max) 字段中的二进制序列化 .Net 对象中。我只是在出现新的要求要求我的代码在中等信任度下运行后才发现这种情况发生。由于 .Net 二进制格式化程序需要完全信任才能被调用,因此它开始在枚举上崩溃。

为了清理混乱,我需要创建迁移脚本,将这些 (varbinary(max)) 值转换回整数值。只有少数不同的值,所以这应该不是一个大问题(我认为)。

问题

选择时,我能够获得 blob 的字符串表示:

SELECT BinValue FROM MyTable where Type = 'Object';
Run Code Online (Sandbox Code Playgroud)

它返回一个字符串“0x...(一个十六进制值的数组)”。

但是当我尝试使用复制和粘贴在列上进行选择时,确保我有确切的二进制等效项:

SELECT ItemId FROM MyTable WHERE Value=convert(varbinary(max), '0x...')
Run Code Online (Sandbox Code Playgroud)

它不返回任何记录。

那么是否可以使用客户端(例如 Management Studio)来解决这个问题?

如果是这样,正确的语法是什么?

sql-server-2008-r2 blob array

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