發表文章

目前顯示的是 2016的文章

查詢SQL SERVER 缺少INDEX的命令

-- 查詢缺少INDEX的命令 SELECT DatabaseName = DB_NAME(database_id) ,[Number Indexes Missing] = count(*) FROM sys.dm_db_missing_index_details GROUP BY DB_NAME(database_id) ORDER BY 2 DESC; -- 查詢缺少INDEX的項目 SELECT TOP 10 [Total Cost] = ROUND(avg_total_user_cost * avg_user_impact * (user_seeks + user_scans),0) , avg_user_impact , TableName = statement , [EqualityUsage] = equality_columns , [InequalityUsage] = inequality_columns , [Include Cloumns] = included_columns FROM sys.dm_db_missing_index_groups g INNER JOIN sys.dm_db_missing_index_group_stats s ON s.group_handle = g.index_group_handle INNER JOIN sys.dm_db_missing_index_details d ON d.index_handle = g.index_handle ORDER BY [Total Cost] DESC; 查出缺少的INDEX建議後,用下面的命令建立INCLUDE( 涵蓋索引 ) create index  idx3  on  Person.Person(MiddleName,EmailPromotion) include (FirstName,LastName,Title,PersonType) equality_columns用法 CREATE NONCLUSTERED INDEX IX_dbo_My_Table__Float_Filtered ON dbo . My_Table ( my_Float_column )

gitlab ce安裝 CENTOS7

1.安裝和配置必要的依賴關係     sudo yum install curl policycoreutils openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshd sudo yum install postfix sudo systemctl enable postfix sudo systemctl start postfix sudo firewall-cmd --permanent --add-service=http sudo systemctl reload firewalld 2.download gitlab package 和安裝 curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash sudo yum install gitlab-ce 3. Configure and start GitLab sudo gitlab-ctl reconfigure 安裝完後,本機可用瀏覽器127.0.0.1測試是否連上,第一次會要求設定root的登入密碼 參考來源: https://about.gitlab.com/downloads/#centos7

linux定時執行程式crontab 指令範例

crontab -e  編輯排程 (edit cron) crontab -r  移除排程 (remove cron) crontab -l  顯示目前排程 (list cron) crontab -u  改變排程的執行身分: crontab -u user filename Crontab 語法介紹 分鐘 小時 日 月 星期 執行身份 指令 0~59 0~23 1~31 (29,30) 1~12 0~6 0是星期日,6是星期六 帳號 /usr/bin/xxxx Crontab 範例 每5分鐘執行一次 */5 * * * * root /usr/libexec/atrun 每5小時執行一次 * */5 * * * root /usr/libexec/atrun 1至20號每天執行一次 0 1 1-20 * * root /usr/libexec/atrun 當分針移到第5分時,執行此 cron 5 * * * * root /usr/libexec/atrun 當時針移到1點 1 分時,執行此 cron 1 1 * * * root /usr/libexec/atrun 每週一的1點1分,執行 1 1 * * 1 root /usr/libexec/atrun 2月29日時針到1點1分,執行  1 1 29 2 * root /usr/libexec/atrun 8點到16點每5分鐘執行一次 cron */5 8-16 * * * root /usr/libexec/atrun 設定檔放在  /var/spool/cron   按照USER命名檔案,如有需要備份,把這裡的檔案COPY出去即可。 特殊排程規則 crontab  除了以標準的格式撰寫排程工作之外,他也有提供幾個常用的特殊排程規則,這種特殊排程規則都以  @  開頭,以下是每個特殊排程規則的說明: 排程規則 說明 @reboot 每次重新開機之後,執行一次。 @yearly 每年執行一次,亦即  0 0 1 1 * 。 @annually 每年執行一次,亦即  0 0 1 1 * 。 @monthly 每月執行一次,亦即  0 0 1 * * 。

linux安裝jdk8

1.先至官方網站下載RPM版本的安裝檔,如jdk-8u112-linux-x64.rpm 2.用yum安裝       yum localinstall jdk-8u112-linux-x64.rpm 或者用wget下載rpm安裝檔 安裝完後用者java -version 檢查版本 如果之前已經安裝了JDK7,那有很大可能會出現1.7的版本 解決方法: alternatives --config java 看是否有列出1.7及1.8,如果之前的1.8有安裝成功會出現在2的選項 所以輸入2就會把現行版本指向1.8 再用java -version檢查看版本是有變更.

centos連結windows分享資料夾(autofs)

1.先安裝相關軟體 yum install samba - client samba - common cifs - utils yum install autofs 預計在\automnt\xxx  下建立資料夾連結 先新增一個設定檔,例如/etc/auto.mymnt   裡面記載掛載內容 $ vi / etc / auto . mymnt xxx - fstype = cifs , rw , suid , dir_mode = 0777 , file_mode = 0666 , username =帳號, password ="密碼" : //192.168.56.1/testdir auto.master加上一行設定(/automnt資料夾autofs會自動產生) $ vi / etc / auto . master / automnt / etc / auto . mymnt 設定開機自動啟動 systemctl enable autofs . service 重新啟動autofs systemctl restart autofs 存取自動掛載的目錄,autofs 就會自動掛載 ,例如進入目錄  $ cd / automnt /xxx 參考: http://xyz.cinc.biz/2016/03/linux-autofs-samba-cifs.html

git要clone網路上的SOURCE

圖片
在https://github.com 的頁面有一個[clone or download]的按鈕,點下去後,會有連結,再把連結COPY起來,在用 git clone 連結 ,即可將SOURCE  download下來

特定分散式查詢伺服器組態選項(sql server open其他SQL資料庫)

圖片
在資料庫名稱上按[右鍵]-->選[Facet]-->[AdHocRemoteQueriesEnabale]-->設為TRUE,才可使用opendatabase及openRowset

NETBEANS測試時出現錯誤>>>Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0

圖片
1.在netbeans的PROJECTS上按右鍵選[Set ConfigGuration]==>[Customize] 2.出現設定窗格後在[Arguments]中KEY入要測試的參數即可正常運行。

sql server 15023 error [SQL SERVER問題: 使用者、組或角色 '*****' 在當前資料庫中已存在]

一般在建立使用者時即可指定使用者的對應,如果使用者建立後,才發現無法利用 Management Studio 調整對應(出現 錯誤:15023)可以利用下面的 指令 調整  Use [myDB資料庫名稱] go sp_change_users_login 'update_one', ' DBuser( 資料庫使用者) ', ' PowerUser( 系統登入的使用者) ' 將myDB資料庫的使用者 DBuser 對應到-->系統登入的使用者 PowerUser ,也就是說 PowerUser 登入系統後,對於資料庫(例如myDB) 的存取權限就相當於 DBuser!

SQL SERVER 連結不同資料庫,做INSERT的動作,姓名個資做掩碼處理,

--連結不同資料庫,做INSERT的動作,個資做掩碼處理,錯誤時利用SQLMAIL發MAIL declare @cc varchar(max); declare @myCursor cursor; set @myCursor =cursor fast_forward FOR --先找有重複的資料數目 select (SELECT (count(reg_rno))  FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=999.999.999.999;User ID=@@@@@;Password=#####' ).[資料庫名稱].dbo.table_name where reg_rno is not null and len(reg_rno)>0 and lay_off=0 group by reg_rno having count(reg_rno)>1) open @myCursor  fetch next from @mycursor  into @cc  if ( @cc is null) --沒有重複的資料 BEGIN --做清空TABLE的動作 truncate table [資料庫名稱].dbo.TABLE_NAME ; --把資料insert進去 insert into [資料庫名稱].dbo.TABLE_NAME (AG_CODE,AG_NAME,EMAIL,REMOVE_YN,CREATE_DT,CREATE_BY,MODIFY_DT,MODIFY_BY) SELECT reg_rno ,case len(LTRIM(name)) when 1 then LTRIM(name) when 2 then left(ltrim(name),1)+'O' ELSE left(ltrim(name),1)+REPLICATE('O',len(ltrim(name))-2)+right(ltrim(name),1) END ,email,(case lay_off when 0 then 'N'

自然人憑證在CLIENT端出現no p11jni java.library.path的ERROR

利用HiSecure Java來實作憑證製作簽章的安裝環境 首先必須先安裝HiCOS卡片管理工具及讀卡機驅動程式(內含HiCOS PKCS #11 dll),如此利用HiSECURE API 7.0版(含以上)開發的應用系統才能正常在Client端使用。 必須將P11JNI.dll需放置至windows\system32以及JRE_HOME\lib\i386的目錄下。 ->( 否則會出現 no P11JNI in java.library path 錯誤)必須將P11JNI.jar放置到JRE_HOME\lib\ext的目錄下。

SQL SERVER帳號轉移(含密碼)

https://support.microsoft.com/zh-tw/kb/918992 COPY以下程式碼在舊的SQL SERVER上執行,執行完後會產生2支 預存程序: sp_hexadecimal  預存程序和  sp_help_revlogin  預存程序 USE master GO IF OBJECT_ID ('sp_hexadecimal') IS NOT NULL DROP PROCEDURE sp_hexadecimal GO CREATE PROCEDURE sp_hexadecimal @binvalue varbinary(256), @hexvalue varchar (514) OUTPUT AS DECLARE @charvalue varchar (514) DECLARE @i int DECLARE @length int DECLARE @hexstring char(16) SELECT @charvalue = '0x' SELECT @i = 1 SELECT @length = DATALENGTH (@binvalue) SELECT @hexstring = '0123456789ABCDEF' WHILE (@i <= @length) BEGIN DECLARE @tempint int DECLARE @firstint int DECLARE @secondint int SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1)) SELECT @firstint = FLOOR(@tempint/16) SELECT @secondint = @tempint - (@firstint*16) SELECT @charvalue = @charvalue + SUBSTRING(@hexstring, @firstint+1, 1) + SUBSTRING(@hexstring, @secondint+1, 1) SELECT @i = @i + 1 END SELECT @hexvalue = @charvalue GO IF OBJECT_ID ('sp_help_re

centos 7 安裝redis

參考:https://dotblogs.com.tw/supershowwei/2016/02/02/112238 1.安裝相關工具 net-tools wget gcc tcl yum -y install net-tools wget gcc tcl 2.下載及解壓縮 Redis cd ~ wget http://download.redis.io/releases/redis- 3.0 . 7 .tar.gz tar xzf redis- 3.0 . 7 .tar.gz 3.編譯 Redis cd redis- 3.0 . 7 make 4.測試及安裝 Redis make test make install 5.建立相關目錄 mkdir /etc/redis mkdir /var/redis 6.複製設定檔 cp ~/redis- 3.0 . 7 /redis.conf /etc/redis/redis_6379.conf 7.建立工作目錄 mkdir /var/redis/ 6379 8.修改 Redis 參數值 vi /etc/redis/redis_6379.conf 將 daemonize 的值修改為  yes 將 pidfile 的值修改為  /var/run/redis_6379.pid 將 logfile 的值修改為  /var/log/redis_6379.log 將 dir 的值修改為  /var/redis/6379 9.開啟防火牆 6379 埠號 firewall-cmd --permanent --add-port= 6379 /tcp firewall-cmd --reload 10.設定 Redis 在開機時就啟動 建立 Redis 服務設定檔 vi /lib/systemd/system/redis_6379.service 將下面的內容貼到檔案裡面,儲存並且離開。 [Unit] Description =Redis on port 6379 After =network.target [Service] Type =forking ExecStart =/usr/local/bin/redis-ser

centos7安裝docker

請參考以下連結: CentOS 系列安裝 Docker CentOS7 系統  CentOS-Extras  庫中已內建 Docker,可以直接安裝: sudo yum install docker 安裝 docker 後,啟動該服務才能應用它。 sudo systemctl start docker 若要開機時啟動 docker 服務: $ sudo systemctl enable docker 取得映像檔 可以使用  docker pull  命令從倉庫取得所需要的映像檔。 例:docker pull mysql 可以取得網路上MYSQL的IMAGE,download後就可以拿來使用了 列出本機映像檔 使用  docker images  顯示本機已有的映像檔。 啟動容器 啟動容器有兩種方式,一種是將映像檔新建一個容器並啟動,另外一個是將終止狀態(stopped)的容器重新啟動。 新建並啟動 所需要的命令主要為  docker run 。 啟動已終止容器 可以利用  docker start  命令,直接將一個已經終止的容器啟動執行。 終止容器 可以使用  docker stop  來終止一個執行中的容器。