长城和长堑都是大型的军事设施。
隋朝修复长城,是为了防御突厥的侵扰。突厥是崛起于阿尔泰山西麓的游牧部落,公元552年,其首领阿史那土门打败柔然族,摆脱其奴役,建立起突厥汗国,称伊利可汗。木杆可汗时,突厥势力范围东自辽西,西到里海,南起漠北,北达贝加尔湖,建牙于于都斤山(今蒙古国鄂尔浑河上游杭爱山之北山),成为雄距亚洲的强大势力。北齐、北周对峙,争相贿赂突厥,以牵制、打击对方。突厥坐收渔人之利,佗钵可汗得意地说:"但使我在南两个儿孝顺,何忧无物也!"(《周书》卷50《突厥传》)北周灭北齐,统一北方,隋朝旋即取代北周,突厥无法再得到中原分裂时的那种利益。开皇二年(582),沙钵略可汗以北周女婿的身份,打着为北周复仇的幌子,纠集四十万大军,侵入今甘肃、陕北,大肆杀掠。隋派军反击,沙钵略战败退走。对付突厥的侵扰,是隋朝的长期军事任务。鉴于当时的国防和军事条件,隋朝利用前代留下来的长城遗址,加以修复,无疑是最便捷的事。因此,隋政权不断征发丁夫,修筑长城。
开皇元年(581),在还没遭受突厥侵入的情况下,隋文帝即未雨绸缪,调发北方沿边稽胡部落修长城,为时二旬完工。开皇五年(585),国家征发内地丁男三万修筑长城,东距黄河,西到绥州(治今陕西省绥德县),绵历七百里。开皇六年(586),调发丁男十五万,在朔方(今内蒙古白城子)以东的险要地带筑城邑数十座。次年,调发丁男十一万修长城,二旬竣工。大业三年(606),隋炀帝调发丁男一百多万修筑长城,西距榆林(今内蒙古托克托西),东至紫河(即今内蒙古和林格尔县南的浑河),二旬而罢。次年,隋炀帝亲自出塞巡视这段长城,又征发丁男二十万修筑榆谷(《资治通鉴》卷181胡三省注:"此榆谷当在榆林西")以东的长城。长城修复后,加强了国防防御能力,配合着对突厥的分化、羁縻和战争手段,收到了维护内地安宁的效果。
长堑是在平地上开凿的大型壕沟,既能把敌对势力隔绝在外,避其锋芒,又能把他们圈定在内,加以围剿。隋朝开凿长堑,是为了确保东都洛阳的安全。仁寿四年(604),隋炀帝继位,打算营建东都洛阳,于是巡幸洛阳,下令征调数十万丁男开掘长堑。这道长堑从蒲州龙门县(今山西省河津县)经长平郡(治今山西省晋城县)东北,东接汲郡(治今河南省浚县西),从临清关(在今河南省新乡县)南跨黄河,经过浚(xùn)仪(今河南省开封市)、襄城郡(治今河南省汝州市),抵达上洛郡(治今陕西省商县)。沿着长堑,遍设关防。这样,环绕着洛阳,出现了一道人工屏障,形成拱卫态势,弥补了自然条件的不足。
长堑的军事作用很快就体现了出来。大业九年(613),隋朝第二次开展收复辽东故土的战争,隋炀帝赴前线指挥作战。礼部尚书杨玄感受隋炀帝的指派,驻守黎阳仓(在今河南省浚县),向前线督运军粮。他聚众八千,杀牲盟誓,说:"主上无道,不以百姓为念,天下骚扰,死辽东者以万计。今与君等起兵以救兆民之弊。"(《资治通鉴》卷182)他以攻取洛阳为最初的目标,于是率军向洛阳挺进。他在长堑旁的临清关受阻不得度,就从汲郡南渡黄河,挥师西进。他屯驻洛阳城外,队伍迅速发展到五万余人。京师长安方面,派出刑部尚书卫文升率兵四万援救洛阳。隋炀帝立即从辽东前线班师,分遣官军或攻打黎阳,或讨伐杨玄感。杨玄感除了要对付卫文升军队以外,还要对付樊子盖指挥的东都军队,以及受隋炀帝派遣业已渡过黄河向洛阳压过来的屈突通军队,因而疲于应付,接连败绩。他在洛阳附近,处境岌岌可危,企图入关,侥幸取胜,由于有潼关的阻隔,不能进入关中。他和十多个亲信从阌(wén)乡(在今河南省灵宝市西)骑马逃奔上洛,企图逃出长堑以外,但未能如愿。他自知无力挽回败局,就让弟弟杨积善杀掉自己,以免被俘后受辱而死。杨积善杀掉他后,自杀不死,被隋军俘获,押送到隋炀帝班师途中的驻地高阳(今河北省高阳县)处死。