小编Ade*_*SIF的帖子

选择SQL Server数据库大小

我如何查询我的SQL服务器只获取数据库的大小?

我用过这个:

use "MY_DB"
exec sp_spaceused
Run Code Online (Sandbox Code Playgroud)

我懂了 :

database_name   database_size   unallocated space
My_DB           17899.13 MB 5309.39 MB
Run Code Online (Sandbox Code Playgroud)

它返回了我不需要的几个列,也许有一个从这个存储过程中选择database_size列的技巧?

我也试过这段代码:

SELECT DB_NAME(database_id) AS DatabaseName,
       Name AS Logical_Name,
       Physical_Name,
       (size * 8) / 1024 SizeMB
FROM sys.master_files
WHERE DB_NAME(database_id) = 'MY_DB'
Run Code Online (Sandbox Code Playgroud)

它给了我这个结果:

DatabaseName    Logical_Name    Physical_Name                    SizeMB
MY_DB           MY_DB           D:\MSSQL\Data\MY_DB.mdf          10613
MY_DB           MY_DB_log       D:\MSSQL\Data\MY_DB.ldf          7286
Run Code Online (Sandbox Code Playgroud)

所以我写了这个:

SELECT SUM(SizeMB)
FROM (
    SELECT DB_NAME(database_id) AS DatabaseName,
           Name AS Logical_Name,
           Physical_Name,
           (size * 8) / 1024 SizeMB
    FROM sys.master_files
    WHERE DB_NAME(database_id) = 'MY_DB'
) AS TEMP …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008 sql-server-2008-r2

139
推荐指数
5
解决办法
47万
查看次数

选择仅包含特定表的数据库

我正在寻找一种方法来选择我的sql server上的所有数据库,它只包含表"dbo.mytable"

我怎样才能做到这一点 ?

我已经有了这两个sql查询:

Select name From sys.databases Where database_id > 5
Run Code Online (Sandbox Code Playgroud)

IF EXISTS
    (SELECT * FROM sys.objects 
    WHERE object_id = OBJECT_ID(N'[dbo].[mytable]') AND type in (N'U')) 
  Select 1 [Exists]
Else
  Select 0 [Exists]
Run Code Online (Sandbox Code Playgroud)

第一个查询列出了我的sql server上的所有数据库,第二个查询是否存在dbo.mytable.我想合并它们.

谢谢

sql sql-server sql-server-2008-r2

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

自动应用程序部署

我想在Windows 2012 R2基础架构上自动化应用程序/角色/功能部署(无人值守),这个项目需要很多小时的编程,这就是我在这里问的原因.

我想部署以下应用程序和角色:Active Directory,DNS,Sql Server 2012,Citrix XenApp Server,Citrix XenDesktop服务器,Citrix Datacollector,Citrix许可证服务器,Citrix Storefront服务器.

因此,基本部署将在8台服务器上(已安装在ESXi上,仅配置ip配置).

我想象这个场景:

我将填写一个包含所有信息的CSV文件,并执行Powershell脚本来部署所有内容,我们可以想象一个脚本将为每个组件(sql,ad,dns,citrix等)调用不同的脚本.

我不想依赖任何工具(sccm,puppet或其他......),这就是我想从头开始创建它的原因 - >但也许我错了.

我也看了,有一个所谓的新功能PowerShell的DSC,以简化应用程序部署http://blogs.technet.com/b/privatecloud/archive/2013/08/30/introducing-powershell-desired-state-configuration-dsc .aspx 有一个简单的例子:如果你需要4个iis webserver,那么执行以下代码:

Configuration DeployWebServers
{

    Node ("test1.domain.com","test2.domain.com","test3.domain.com","test4.domain.com")
    {
    Windows-Feature IIS
    {
         Name = "Web-Server"
         Ensure = "Present"
    }

    }
}

DeployWebServers -OutputPath "C:\scripts"
Start-DscConfiguration -path "C:\scripts" -Verbose -Wait -Force
Run Code Online (Sandbox Code Playgroud)

但在我的情况下,每个应用程序/角色或功能只有1个服务器,如果我理解的话,只有在(x)服务器上需要部署相同的配置时,此功能才有意义

你的建议是什么?我应该选择从头开始编写powershell脚本吗?或者选择像木偶或厨师这样的解决方案(更容易),但在这种情况下,我将依赖于工具.

最好的解决方案是使用sql数据库 - >我的项目的最终目标是一个带有数据库的Web应用程序,该数据库将执行我的powershell脚本来部署我的基础结构

当然,从这个Web应用程序,我将通过表单填充我的数据库,我的powershell脚本将查询此数据库以获取信息(IP地址,客户端名称,域名,密码,用户......)**

感谢您的意见.

windows deployment powershell automation puppet

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

PowerShell中的PsObject数组

这是我的代码:

$a = @()

for ($i = 0; $i -lt 5; $i++)
{

$item = New-Object PSObject
$item | Add-Member -type NoteProperty -Name 'Col1' -Value 'data1'
$item | Add-Member -type NoteProperty -Name 'Col2' -Value 'data2'
$item | Add-Member -type NoteProperty -Name 'Col3' -Value 'data3'
$item | Add-Member -type NoteProperty -Name 'Col4' -Value 'data4'

$a += $item
}
Run Code Online (Sandbox Code Playgroud)

使用此代码,我可以得到如下结果:

Col1 Col2 Col3 Col4
---- ---- ---- ----
   0    1    2    3
   1    2    3    4
   2    3    4    5
   3    4 …
Run Code Online (Sandbox Code Playgroud)

powershell powershell-4.0

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

在Powershell中从哈希表删除值

我想从哈希表中删除特定值。

该表如下所示:

Name                           Value                                                                                                                                             
----                           -----                                                                                                                                             
column                         {test, test2}    
Run Code Online (Sandbox Code Playgroud)

如何删除“ test2”值?

我尝试了以下方法:

$ myhashtable.remove(“ test2”)

不幸的是,这不起作用。

有人可以帮我吗?谢谢!

powershell hashtable

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

带有pymongo和$ ne:null的SyntaxError

这是我的代码:

#! /usr/bin/python

import os
from pymongo.connection import Connection
from pymongo.master_slave_connection import MasterSlaveConnection


database = 'toto'
collection = 'logs'

master = Connection(host="X.X.X.X", port=27017)
slave1 = Connection(host="X.X.X.X", port=27017)
con = MasterSlaveConnection(master, slaves=[slave1, master])

db = getattr(con,database)

#host_name.append("getattr(db,collection).distinct( 'host_name' )")
#print host_name[1]

hosts = db.logs.distinct( 'host_name' )

services = db.logs.distinct("service_description" , { "service_description" : { $ne : null } } )

#print hosts
print services
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

File "./rapport.py", line 23
    services = db.logs.distinct("service_description" , { "service_description" : { $ne : null } …
Run Code Online (Sandbox Code Playgroud)

python mongodb pymongo mongodb-query

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

替换powershell数组中的字符串

这是我的阵列:

$ array包含这些值:

Y:\155150716070\00000027.JPG
Y:\155150716070\00000028.JPG
Y:\155150716070\00000029.JPG
Y:\155150716070\00000030.JPG
Y:\155150716070\00000031.JPG
Y:\155150716070\00000032.JPG
Y:\155150716070\00000033.JPG
Y:\155150716070\00000034.JPG
Y:\155150716070\00000035.JPG
Y:\155150716070\00000036.JPG
Run Code Online (Sandbox Code Playgroud)

如何用" JPG" 代替" " TIF以获得类似的东西?

Y:\155150716070\00000027.TIF
Y:\155150716070\00000028.TIF
Y:\155150716070\00000029.TIF
Y:\155150716070\00000030.TIF
Y:\155150716070\00000031.TIF
Y:\155150716070\00000032.TIF
Y:\155150716070\00000033.TIF
Y:\155150716070\00000034.TIF
Y:\155150716070\00000035.TIF
Y:\155150716070\00000036.TIF
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

arrays powershell powershell-3.0 powershell-4.0

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

如何设置文件的LastWriteTime属性?

我想更改使用此脚本生成的文件的创建日期:

$clientname = Read-Host "Enter the client name"
$path = Read-Host "Enter the complete path of .bak files"

$time = "01-00-00"
$space = " "


for ($i = 0; $i -lt 7;$i++)
{

$date = (Get-Date).AddDays(-1-$i).ToString('yyyy-MM-dd') 

New-Item -ItemType file $path$clientname$space$date$space$time.bak

}
Run Code Online (Sandbox Code Playgroud)

所以它给了我这些文件:

Mode                LastWriteTime     Length Name                                                          
----                -------------     ------ ----                                                          
-a---        16/08/2013     16:55          0 client 2013-08-15 01-00-00.bak                                  
-a---        16/08/2013     16:55          0 client 2013-08-14 01-00-00.bak                                  
-a---        16/08/2013     16:55          0 client 2013-08-13 01-00-00.bak                                  
-a---        16/08/2013     16:55          0 client 2013-08-12 01-00-00.bak                                  
-a---        16/08/2013 …
Run Code Online (Sandbox Code Playgroud)

powershell scripting powershell-2.0 powershell-3.0

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

添加列并为现有数组赋值

我想为从CSV生成的现有数组添加列和值.

这是我的代码:

$mycsv = "C:\Users\test\Documents\serveurs.csv"
$servers = Import-Csv $mycsv
Run Code Online (Sandbox Code Playgroud)

这是结果:

ServerName                              Ip
----------                              --
Castor                                  172.22.0.64
Pollux                                  172.22.0.67

我想为每个ServerName添加带有值的新列,如下所示:

ServerName                              Ip                  Available
----------                              --                  ---------
Castor                                  172.22.0.64         Yes
Pollux                                  172.22.0.67         No

所以我尝试了下面的代码:

$item = New-Object PSObject
$item | Add-Member -Type NoteProperty -Name 'Available' -Value 'Yes'

$servers += $item
Run Code Online (Sandbox Code Playgroud)

但它实际上不起作用,任何人都可以帮助我吗?

最后的想法是使用Test-Connection Cmdlet在服务器可通过网络访问时分配值.

谢谢

csv arrays powershell

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

接收作业输出到文件

如何将receive-job结果输出到文件?

我试过这个,但它不起作用:

$log = "C:\springfield\citrix\CitrixAutomation.log"
Get-Job | Receive-Job | Out-File $log
Run Code Online (Sandbox Code Playgroud)

我也试图将输出保存Get-Job | Receive-Job到变量,但它不起作用..

$log = "C:\springfield\citrix\CitrixAutomation.log"
$getjobarr = @()
Function LogWrite
{
   Param ([array]$logstring)
   $logstring | Out-File $log -Append
}

$getjobarr += Get-Job | Receive-Job

LogWrite $getjobarr
Run Code Online (Sandbox Code Playgroud)

我认为Get-Job并且Receive-Job 只能输出到控制台,所以我该如何实现呢?

谢谢你的帮助

powershell powershell-3.0

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