فرمت های خروجی تاریخ SQL

1    select convert(varchar, getdate(), 1)    12/30/06

2    select convert(varchar, getdate(), 2)    06.12.30

3    select convert(varchar, getdate(), 3)    30/12/06

4    select convert(varchar, getdate(), 4)    30.12.06

5    select convert(varchar, getdate(), 5)    30-12-06

6    select convert(varchar, getdate(), 6)    30 Dec 06

7    select convert(varchar, getdate(), 7)    Dec 30, 06

 10    select convert(varchar, getdate(), 10)    12-30-06

 11    select convert(varchar, getdate(), 11)    06/12/30

 101    select convert(varchar, getdate(), 101)    12/30/2006

 102    select convert(varchar, getdate(), 102)    2006.12.30

 103    select convert(varchar, getdate(), 103)    30/12/2006

 104    select convert(varchar, getdate(), 104)    30.12.2006

 105    select convert(varchar, getdate(), 105)    30-12-2006

106    select convert(varchar, getdate(), 106)    30 Dec 2006

107    select convert(varchar, getdate(), 107)    Dec 30, 2006

110    select convert(varchar, getdate(), 110)    12-30-2006

 111    select convert(varchar, getdate(), 111)    2006/12/30

بازگردانی اطلاعات فلش یا هارد اکسرنال با پیام Format Disk

حتما تا به حال به این مشگل برخوردین که بعد از وصل کردن حافظه جانبی مثل فلش یا هارد اسکترنال به سیستمتون با پیام Format Disk مواجه شید.

در مرحله اول کابل اتصال رو چک کنید 

در مرحله دوم درگاه USB رو تغییر بدین

درمرحله سوم  روی یه سیستم  مطئن دیگه هم تست کنید

در مرحله چهارم دوباره از مرحله اول شروع کنید(!)

در مرحله پنجم یک پنجره CMD با دسترسی ادمین باز کنید و دستور زیر را وارد کنید، فقط به جای علامت "*" نام درایو فلش یا هارد اکسترنالتون رو بنویسید:

chkdsk *: /f /r /x

توجه داشته باشید که  زمان اجرای دستور بسته به حجم فلش یا هارد اکسترنال شما و سرعت آن دارد، میانگین برای یک هارد یک ترابایتی معمولی حدود 5 یا 6 ساعت زمان خواهد برد و در نهایت تمام فایل های شما با صحت نمایان خواهند گشت.


در مرحله ششم اگر باز هم موفقیت آمیز نبود به یک متخصص مراجعه کنید.

تولید سرجمع در SQL

برای تولید سرجمع در پرسش های SQL که توسط دستور Group by بدست آمده از روش ریز استفاده می‌کنیم:

SELECT Country, SUM(Sales) AS TotalSales
FROM Sales
GROUP BY CUBE (Country); 

OR

SELECT Country, SUM(Sales) AS TotalSales 
FROM Sales 
GROUP BY ROLLUP (Country);

که قسمت خط آخر هر فرمان را در نسخه های قدیمی به صورت group by colname with Cube  هم می‌نویسند.

خروجی این دو دستور هنگامی که روی یک ستون اعمال شوند یکسان است اما هنگامی که روی بیش از یک ستون اجرا شوند خروجی های متفاوتی را خواهند داشت.

  ادامه مطلب ...

دستور Coalesce جایگزین Isnull در SQL Server

به جای استفاده از دستور Isnull به صورت تو در تو از دستور Coalesce به صورت زیر استفاده کنیم:

COALESCE(Class, Color, ProductNumber , 0) AS FirstNotNull


منبع: https://docs.microsoft.com/en-us/sql/t-sql/language-elements/coalesce-transact-sql?view=sql-server-2017

مشکل You are not allowed to use the specified 'From' address در میل سرور Axigen

این یک مشکل نیست در حقیقت!

اما روش حلش به صورت زیر:



و مقادر داخل کادر From را پاک میکنیم:)

تغییر سیاست پسورد در ویندوز سرور 2012 بعد از نصب اکتیو دایرکتوری

بعد از نصب اکتیو دایرکتوری، سیاست‌های انتخاب پسورد بر میگردند به حالت قبلشان و برای تغییر دادن آنها دیگر از مسیر پست قبلی نمیشود اقدام کرد.

برای این کار در Run یا در PowerShell بزنید gpedit.msc و مانند شکل زیر مسیر را دنبال کنید و تغییرات مورد نظرتون رو اعمال کنید.


تغییر سیاست پسورد در ویندوز سرور 2012

برای این کار Control Panel را باز کرده و سپس Administrative Tools را باز کرده و Local Security Policy را باز میکنیم.

در پنجره باز شده، به آدرس نشان داده شده در شکل زیر رفته و مقادیر را با توجه به نیاز تغییر دهید.


نصب و راه اندازی Bind روی CentOS 6.3

نرم افزار Bind یک سرویس دهنده DNS رایگان است که توسط ISC پشتیبانی می‌شود.(البته نسخه غیر رایگان هم دارد.)

این برنامه را با دستور رو برو نصب میکنیم:

yum install bind bind-utils -y

کانفیگ پیشفرش Bind هیچ چیزی جز دردسر نیست، محتوای فایل کانفیگ را با متن زیر جایگزین کنید:

nano /etc/named.conf


//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };
        recursion yes;
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {
        type hint;
        file "named.ca";
};


راه اندازی برنامه Bind را خودکار کرده و آن را فعال می کنیم:

chkconfig named on

service named start

سرویس Bind بعد از تولید کلید یکتاش فعال میشود. حال بسته به وظیفه ای که برای این سرور در نظر گرفته این باید کانفیگ مورد نظر را انجام بدهیم. از اینجا به بعد را اگر با برنامه Webmin که یک برنامه بسیار کاربردی برای کانفیگ سرویس های لینوکس از طریق وب میباشد را پیش ببرید، کار بسیار راحت تری در پیش رو دارید.


برای ساختن Zone ها دو آپشن وجود دارد، یکی به عنوان Master که هنگامی استفاده میشود که این سرور به عنوان سرویس دهنده اصلی DNS در شبکه به حساب می آید و دامنه های جدید در این سرور به صورت دستی ثبت میشوند و دوم به صورت Slave.

برای کانفیگ سرور Master بدین نحو عمل می کنیم. فایل کانفیگ را باز کرده و خطوط زیر را به انتهای فایل اضافه میکنیم:

nano /etc/named.conf

zone "domain.ir" {

type master;

file "/var/named/domain.ir.hosts";

};

و فایل حاوی رکورد های DNS را با داده های زیر ایجاد میکنیم:

nano /var/named/domain.ir.hosts

$ttl 38400

server.ibs. IN SOA ns.domain.ir. email.domain.ir. (

1380123466

10800

3600

604800

38400 )

domain.ir IN NS ns.domain.ir.

domain.ir. IN A 192.168.1.1


برای دانستن انواع رکورد های DNS پیشنهاد می شود کتاب pro DNS and BIND 10 را مطالعه کنید.

حال برای این سرور یک سرور جایگزین ایجاد میکنیم تا در صورت در دسترس نبودن سرور اول، عمل کند. برای این که این بروز رسانی رکورد ها خودکار باشد و در صورت تغییر رکوردی در سرور اصلی، این رکورد در سرور جایگزین هم تغییر کند بدین صورت عمل میکنیم:

در فایل کانفیگ Bind  در سرور اصلی این خطوط را در قسمت Options اضافه میکنیم:

nano /etc/named.conf

allow-transfer {

192.168.1.2;   #Slave server IP

};

فایل کانفیگ Bind را دوباره بارگزاری کرده یا سرویسش را ریست میکنیم:

rndc reload


و در فایل کانفیگ Bind سرور جایگزین این خطوط را به انتهای فایل اضافه میکنیم:

nano /etc/named.conf

zone "domain.ir" {

type slave;

masters {

192.168.1.1;

};

file "/var/named/slaves/domain.ir.hosts";

notify no;

};

فایل کانفیگ Bind را دوباره بارگزاری کرده یا سرویسش را ریست میکنیم:

rndc reload

حال برای این که مطمئن شویم که انتقال رکورد ها انجام شده است، با دستور روبرو وجود فایل "/var/named/slaves/domain.ir.hosts" را چک می‌کنیم. در صورت وجود فایل، انتقال موفقیت آمیز بوده است.
ls /var/named/slaves/


پ.ن:

حتما پورت 53 را در پروتکل UDP و TCP باز کنید. به اینجا مراجعه کنید.

IP دادن به سویچ 2960 از طریق CLI

با کابل کنسول یا Rollover را به سویچ و پورت COM کامپیوتر وصل می کنیم.

و برای راحتی کار با برنامه Putty با انتخاب نوع اتصال به صورت Serial انتخاب می کنیم.

تنظیمات پورت سریال برای اتصال با دستگاه های سیسکو به این صورت است:

Speed (baud): 9600

Data bits: 8

Stop Bits: 1

Parity: None

Flow control: XON/XOFF


خب کانکت را میزنیم و بعد از باز شدن صفحه مشکی CLI کلید Enter را زده و دستورات زیر را وارد میکنیم:

en

پسورد را وارد میکنیم

config terminal

interface Vlan1

ip address xx.xx.yy.yy 255.255.0.0

exit

ip default-gateway XX.XX.YY.YY 255.255.0.0

end

copy running-config startup-config

exit

چگونه یک پورت را در CentOS باز کنیم؟

با دستور 

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

تحت یوزر root می توان پورت مورد نظر را باز کرد. فقط به جای 80 شماره پورت مورد نظرتان را بنویسید.

برای این که این تغییر اعمال شود با دستور زیر آن را ذخیره کنید

service iptables save